﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;

namespace SDSystem.Models
{
    class PremiseMeta
    {
        [StringLength(255, ErrorMessage = "Premise Name must contain least 5 characters", MinimumLength = 1)]
        [Required(ErrorMessage = "Name is required")]
        [DisplayName("Premise Name")]
        public string PremiseName { get; set; }

        [StringLength(255, ErrorMessage = "Location Name must contain least 5 characters", MinimumLength = 1)]
        [Required(ErrorMessage = "Name is required")]
        [DisplayName("Location Name")]
        public string LocationName { get; set; }

        [Required(ErrorMessage = "Status is required")]
        [DisplayName("Location Status")]
        public int LocationStatus { get; set; }

        [RegularExpression(@"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$")]//(425) 555-0123||425-555-0123||425 555 0123||1-425-555-0123
        [Required(ErrorMessage = "Phone number is required")]
        [DisplayName("Phone Number")]
        public string PhoneNumber { get; set; }


    }

    class FacilityMeta
    {
        [Required(ErrorMessage = "Type is required")]
        [DisplayName("Facility Type")]
        public int FacilityType { get; set; }

        [Required(ErrorMessage = "Description is required")]
        [DisplayName("Facility Description")]
        public string FacilityDescription { get; set; }
    }

    class VolunteeringMeta
    {
        [Required(ErrorMessage = "Volunteering Contact is required")]
        [DisplayName("Volunteering Contact")]
        public string VolunteeringContact { get; set; }


        [RegularExpression("[0-9]")]
        [DisplayName("Volunteer Nos")]
        public int VolunteerNos { get; set; }
    }

    class MinorWorkProjectMeta
    {
        [Required(ErrorMessage = "Description is required")]
        [DisplayName("P/MW Description")]
        public string Description { get; set; }

        [Required(ErrorMessage = "P/MW Date Enquiry Received is required")]
        [DisplayName("P/MW Date Enquiry Received")]
        public string EnquiryReceivedDate { get; set; }
    }
}
